The following acronyms are used throughout this description. They are listed in TABLE 1 below for ease of reference.
TABLE 1ACRONYMDEFINITIONACELPAlgebraic Code Excited Linear PredictionACSActive Code SetAFSAMR Full Rate Speech serviceAHSAMR Half Rate Speech ServiceAMRAdaptive Multi Rate Speech ServiceBERBit Error RateBSSBase Station SubsystemBTSBase Transceiver StationCDMACode Division Multiple AccessCELPCode Excited Linear PredictionCHDChannel DecoderCHEChannel EncoderC/ICarrier-to-Interface Ratio (used to measure link quality)CMICodec Mode IndicationCMCCodec Mode CommandCMRCoec Mode RequestCodec 1Lowest Speech bitrate mode in ACS (CMC/CMR/CMI = 0)Codec 22nd lowest bitrate codec if ACS contains 2 or more codecs(CMC/CMR/CMI = 1)Codec 33rd lowest speech bitrate codec if ACS contains 3 or morecodecs (CMC/CMR/CMI = 2)Codec 4Highest speech bitrate codec if ACS contains 4 codecs(CMC/CMR/CMI = 3)DLDownlinkEDGEEnhanced Data-rates for GSM (or Global) EvolutionEFREnhanced Full Rate Speech Codec for GSMFACCHFast Associated Control ChannelFIRFinite Impulse ResponseFRFull Rate Speech Codec for GSMGSMGlobal System for Mobile Communications,Common Digital Cellular StandardHRHalf Rate Speech Codec for GSMICMInitial Codec ModeIIRInfinite Impulse ResponseMSMobile Station, e.g. a cellular phonePDCPersonal Digital CellularRATSCCHRobust AMR Traffic Synchronized Control ChannelSACCHSlow Associated Control ChannelSPDSpeech DecoderSPESpeech EncoderTDMATime Division Multiple AccessTCHTraffic ChannelTRAUTranscoding and Rate Adapting UnitULUplinkWCDMAWideband-CDMA3GPP3rd Generation Pasrtnership Project, WCDMA Standard
Digital communications systems, such as digital cellular telephony systems, are often used to transmit voice. Due to the limited bandwidth of these systems, speech is typically encoded to a low bit rate using a speech encoder. Various methods are in use for such speech coding. Within modern digital cellular telephony, most of these methods are based upon Code Excited Linear Prediction (CELP) or some variant thereof. Such speech codecs are standardized and in use for all of the major digital cellular telephony standards including GSM/EDGE, PDC, TDMA, CDMA, and WCDMA.
The present invention is described within the context of GSM. Within this standard, there are currently four standardized speech services; three of which are fielded and in common use. The original speech codec is known as the full-rate (FR) codec. This was followed by the half-rate (HR) speech codec which required only half of the bandwidth of the FR codec thereby allowing cellular operators to support twice as many users within the same frequency allocation. This was followed by the Enhanced Full Rate (EFR) speech codec which required the same net bit rate (after channel coding) as the original FR codec but with much improved speech quality.
The GSM standard recently introduced the AMR speech codec. This speech codec will also be used in forthcoming EDGE and 3GPP cellular systems.
Basic AMR Operation—The AMR speech service is fundamentally different from fixed-rate codecs in that multiple speech rates are defined and the speech rate may be changed dynamically. For each speech rate, a channel coding scheme is defined. The speech rate may be altered in order to match the channel coding to the link quality. There is both a half-rate and full-rate mode of AMR operation.
The AMR speech service has capacity and speech quality advantages over preceding GSM speech codecs. The capacity increase is largely a consequence of there existing a half-rate option in addition to the full rate. Because the ACELP technology underlying the AMR codec is superior to that of the original HR speech codec, the AMR half rate codec will likely be acceptable with respect to speech quality (unlike its HR predecessor).
The adaptive nature of the AMR codec also serves to increase capacity. Because the channel coding can be increased dynamically as needed, additional coding gain is possible meaning that acceptable operation at a lower C/I ratio is possible. Because GSM systems are typically interference-limited (as compared to noise-limited), a lower average C/I ratio effectively means it is possible to put more users on the same system.
Considering only the full-rate AMR service, the speech quality perceived by the user is improved over the fixed-rate speech codecs (FR, EFR). As an AMR user encounters poor channel conditions, e.g. at the edge of a cell or within a fade, the speech rate is reduced and the channel coding increased. The reduced speech rate leads to a lower but acceptable speech quality. This dynamic change is performed in a controlled manner such that the BER into the speech decoder is always kept at acceptable levels. With a fixed-rate speech codec under similar conditions, the bit error rate (BER) into the speech decoder would quickly reach unacceptable levels leading to degraded speech quality out of the decoder.
A high-level block diagram of a complete AMR system is illustrated in FIG. 1. The AMR system is incorporated within the major GSM base station components TRAU and BTS on the network side and the MS or mobile terminal on the portable equipment side.
On the network side, the speech encoder (SPE) and channel encoder (CHE) as well as channel decoder (CHD) and speech decoder (SPD) are connected via the serial A-bis interface. For each link, quality information is derived by estimating the current channel quality. Based on the channel quality, and also taking into consideration possible constraints from network control, the codec mode control, which is located on the network side, selects the codec modes to be applied.
The channel mode to use (TCH/AFS or TCH/AHS) is controlled by the network. Uplink and downlink always apply the same channel mode.
In order to achieve the benefits of having multiple codec rates and codec schemes, it is important to choose the optimal codec rate for a given link (channel condition) at a given time. This is accomplished via a closed loop control mechanism wherein the network actually controls the rates on both links based on a channel quality measure.
For codec mode adaptation the receiving side performs link quality measurements of the incoming link. The measurements are processed yielding a Quality Indicator. For uplink adaptation, the Quality Indicator is directly fed into the UL mode control unit. This unit compares the Quality Indicator with certain thresholds and generates, also considering possible constraints from network control, a Codec Mode Command indicating the codec mode to be used on the uplink. The Codec Mode Command is then transmitted inband to the mobile side where the incoming speech signal is encoded in the corresponding codec mode. For downlink adaptation, the DL Mode Request Generator within the mobile compares the DL Quality indicator with certain thresholds and generates a Codec Mode Request indicating the preferred codec mode for the downlink. The Codec Mode Request is transmitted inband to the network side where it is fed into the DL Mode Control unit. This unit generally grants the requested mode. However, considering possible constraints from network control, it may also override the request. The resulting codec mode is then applied for encoding of the incoming speech signal in downlink direction. Both for uplink and downlink, the presently applied codec mode is transmitted inband as Codec Mode Indication together with the coded speech data. At the decoder, the Codec Mode Indication is decoded and applied for decoding of the received speech data.
Codec mode selection is chosen from a set of codec modes (ACS, Active Codec Set), which may include 1 to 4 AMR codec modes. For the full-rate channel, a total of 8 speech codec rates are defined and each has a unique channel code associated with it. For the half-rate service, fewer speech rates are used. The ACS represents a subset of these codec rates. Associated with this set is a list of 0 to 3 switching thresholds and hystereses used by the DL Mode Request Generator and the UL mode control unit to generate the Codec Mode Requests and Codec Mode Commands. These configuration parameters (ACS, thresholds, hysteresis) are defined at call set-up and can be modified at handover or during a call, e.g. via special reconfiguration messages sent on the RATSCCH channel. In addition, separate configuration parameters may be defined for uplink and downlink channels.
Transmittal of the codec mode is done via special inband signaling. This inband signaling is comprised of a 2-bit index into the ACS. The value of interest is channel encoded to 4 bits for AHS and 8 bits for AFS. These bits are allocated within the 456-bit AFS speech frame or the 228-bit AHS speech frame leaving 448 bits and 224 bits, respectively, for the encoded speech frame.
Each coded frame contains only one inband data value and the inband data alternates in meaning. For every other speech frame, the inband data represents the Codec Mode Indication (CMI). The CMI indicates the codec mode used on the link in which it is being transmitted and, hence, how received speech frames should be decoded, i.e. which channel coding to decode. Each CMI must be statically stored in the receiver as it indicates how to decode both the frame in which it was received and the next frame.
The inband data in the remaining frames gives instructions concerning the mode that should be used on the opposite link. For the data in the downlink frames, this field is termed the codec mode command (CMC) as this value commands the MS as to which codec mode to use on the uplink. For the data in the uplink frames, this field is termed the codec mode request (CMR) as this is the codec mode which the MS would like to see used on the downlink. The network will typically use the CMR to drive the downlink codec rate but it is not required to do so.
Given the aforementioned link adaptation, it remains to determine how the optimal codec mode is chosen. This is accomplished by estimating the channel quality for a given link and using this to determine the optimal codec rate from those within the ACS. For simplicity, henceforth only the downlink to the MS receiver will be considered. It is understood that the concepts apply equally to the uplink (BTS receiver).
The channel quality must be monitored by the MS receiver. A GSM receiver already monitors this link and reports RXLEV (received signal strength) and RXQUAL (received signal quality) parameters back to the BTS via SACCH. However, these methods for measuring channel quality are generally not adequate for purposes of AMR link adaptation.
The channel quality for AMR is mapped to a Carrier-to-Interference (C/I) ratio between 0 and 31.5 dB, though the practical range of interest is typically narrower. Multiple methods for estimating this channel quality measurement are possible. The most obvious method is to explicitly estimate the carrier and interferer energies. Other measurement techniques such as estimating BER and mapping it to a C/I value or using Viterbi metrics are possible. The particular method for channel quality estimation is outside of the scope of this disclosure and thus any of the methods are applicable. The only presumption herein is that the channel quality measurement be estimated on each received burst or frame and that it be mappable to a C/I ratio.
The C/I ratio is compared against certain thresholds to calculate the CMR value to be returned to the BTS. In general, a strong signal (C/I ratio) indicates that a high speech rate (low channel coding) may be used on the downlink. A weak signal indicates more channel coding (and a low speech rate) are needed.
The exact thresholds are signaled by the network during AMR configuration, i.e. at the same time as the ACS is defined. In order to prevent the codec mode from oscillating excessively between two rates when the channel quality is near a threshold, hysteresis values are also part of the AMR configuration. In a typical AMR receiver, input bursts of RF data are demodulated and assembled into frames. These are passed to a channel decoder whose results are sent to the speech decoder. In parallel with this, a channel quality measurement is performed based upon inputs from the raw bursts, the demodulator, the channel decoder, and/or the channel decoder input/output data. The channel quality is used to calculate a mode request value.
The channel quality (C/I estimate) is typically measured on a burst (TDMA frame) or speech frame basis. (In AFS, a speech frame is composed of 4 bursts whereas in AHS 2 bursts comprise a speech frame.) Considerable variance will be observed in these measurements due to fast fades, antenna orientation, and other fleeting channel perturbations. Frequency hopping (typical in GSM systems) adds an additional fast-varying source of channel condition changes.
It is not practical to track the fast-varying channel conditions as this would effectively require some prediction that is unfeasible given the randomness. Hence, it is desirable to remove the fast-varying components and concentrate on the long-term average (slow-varying) channel quality. This is achieved by filtering the channel quality estimates measured on a burst or frame basis.
The Link Adaptation standard suggests that a 500 ms (100-tap for AFS bursts, 50-tap for AHS bursts) FIR (moving average) filter be used. For purposes of this disclosure, it is assumed such a filter would be used. It is understood that an alternate filter including a different number of FIR taps and/or poles (IIR filter) may be similarly used within the invention.
When a traffic channel is assigned at the beginning of a call or a new traffic channel is assigned as the result of a handover, the mobile usually begins using it with no prior knowledge of channel quality. Since a filter relies on past values, how the designer chooses to initialize the C/I estimate filter state directly affects initial performance. The simplest approach is to initialize the filter state with a fixed value such as zero. Actual C/I measurements displace the preloaded initial value over time. Given the situation where the ICM is non-optimal for the current RF conditions, the request for the optimal codec mode is delayed until the filter state is dominated by actual measurements.
Consider the case where the mobile is ordered to begin a call using its lowest bit rate codec (this is very common when using implicit rules for startmode) yet the RF channel quality is capable of supporting the highest bit rate codec. The mobile stays at the lower rate codec until enough zeros are displaced that the filtered C/I estimate exceeds the threshold required to request the next highest rate codec in the ACS. This process continues until the highest rate codec is requested. During this process, the user experiences degraded audio until the optimal codec is requested.
Another problem arises when the base station orders the highest-rate codec to be used initially. With the filter state initialized with zeros, it is likely that the mobile will request a lower bit rate codec at the call start based on the first calculation from the filter. The optimal codec is requested only after actual RF measurements dominate the initialization value in the C/I estimate filter. To prevent this startup problem, the ability to request a new codec could be barred until the filter is filled with actual RF measurements. Again this arbitrary implementation results in unnecessarily degraded audio at the beginning of a call (or immediately after handover) even though the radio link quality is capable of supporting the highest bit rate speech codec. Although these preceding examples focus on C/I estimate filters initialized with zero, one skilled in the art recognizes that similar problems exist with any constant value.
The ICM is typically not chosen by the base station arbitrarily at either call setup or handover. The base station is familiar with network aspects that affect channel quality such as the cell layout and the cell loading. A lightly loaded cell in a network having small cells will tend to have good channel quality even at handover. Conversely, a heavily-loaded network or one having large cells will tend to have poor channel quality at a handover. Furthermore, a network usually has some explicit indication of the channel quality as reported by RXQUAL or RXLEV measurements taken by the MS as part of the mobile-assisted handover procedure when changing TCH channels or as part of the SDCCH measurements taken before switching over to the TCH at call setup. Concerning handovers, the network typically requires that the RXLEV reported by the MS for a neighbor cell is better than that of the serving cell before the handover is commanded. Hence, the network always has a rough estimate of the MS's received channel quality.
Given the above, the network is in a better position to determine the ICM that should be used for the downlink to the MS at the beginning of a call or at handover. Hence, the commanded ICM value should be used until the MS can estimate the channel quality with a reasonable degree of confidence, e.g. when the filter is filled with measured rather than initial values.
The issue with the previously described filter initialization is that it effectively overrides the intent of the network when a new channel is assigned. The network is, in this respect, smarter than the MS and in a better position to choose the AMR rate. If the MS initializes to a set value (such as zero), the CMR is forced to a non-optimal codec (the lowest) until the filter is filled with actual measurements.
The problem of a non-optimal codec is probably not too significant at call setup. However, switching to a non-optimal codec at each handover is quite undesirable. Note that a primary scenario (and motivation) for AMR operation is in weak signal conditions, e.g. at cell boundaries. At cell boundaries (e.g., marginal channel quality for large cells or good channel quality in small cells) multiple handovers may occur leading to significant periods of time in which such a non-optimal codec would be used. The problem is further exacerbated if a high-order FIR filter is used. A higher-order filter would effectively lengthen the periods of time during which a non-optimal codec is used.
What is desired is a method for determining initial channel quality estimates that would allow an optimal codec to be used as often as is practical whenever a new RF channel is allocated.